package com.argticling.model;

import com.argticling.model.privilege.AdminPrivilege;
import com.argticling.model.privilege.ReadPrivilege;
import com.argticling.model.privilege.SuperAdminPrivilege;
import com.argticling.model.privilege.WritePrivilege;

public class PrivilegeProvider {

    /**
     * The constructor could be made private
     * to prevent others from instantiating this class.
     * But this would also make it impossible to
     * create instances of Singleton subclasses.
     */
    protected PrivilegeProvider() {

    }

    /**
     * A handle to the unique Singleton instance.
     */
    static private PrivilegeProvider ppInstance = null;

    /**
     * @return The unique instance of this class.
     */
    static public PrivilegeProvider instance() {
        if (ppInstance == null) {
            ppInstance = new PrivilegeProvider();
        }
        return ppInstance;
    }

    //Singleton methods..

    public AdminPrivilege getAdminPrivilege() {
        return null;
    }

    public ReadPrivilege getReadPrivilege() {
        return null;
    }

    public WritePrivilege getWritePrivilege() {
        return null;
    }

    public SuperAdminPrivilege getSuperAdminPrivilege() {
        return null;
	}
}
